The Clarion for Windows Performance Gauge GAUGE launches test programs that compare the relative performance of Clarion for Windows, Delphi, Visual Basic, and PowerBuilder. Launching the Benchmarks The benchmark programs are stand-alone .EXEs that can be run independently. However, these programs have been written to operate as dynamic data exchange (DDE) servers. The Performance Gauge is their client, launching them with a RUN statement, and stimulating them to action using the Clarion DDE library. The Clarion and Delphi benchmark programs are complete "one-piece" executables. The Visual Basic and PowerBuilder benchmarks require run-time .DLL files. The resulting executable sizes can be displayed by pressing the ".EXE Size..." button. Though not measured by the Performance Gauge, the time required to load a VB program load time is considerably greater than that required for Clarion or Delphi programs. Because of their huge size, PowerBuilder programs take a very long time to load. The Sieve of Eratosthenes Benchmark The "Sieve of Eratosthenes" is an ancient algorithm for finding the number prime numbers between one and any positive integer. This algorithm is commonly used to benchmark compiler efficiency. The Performance Gauge measures the number of times per minute that each program can count the primes between 1 and 1,000. To produce similar duration, the Clarion "Sieve" cycles 4,000 times, Delphi cycles 2,000 times, VB cycles 100 times, and PB cycles 7 times. The Video Performance Benchmark To test video performance, a typical 3 dimensional dialog box is displayed repeatedly. The dialog box contains text controls, a combo box, a spin box, radio buttons, check boxes, and "OK" and "Cancel" buttons. All entry fields are initialized with data. As soon as the dialog box has been completely painted, it is closed. When the window is completely removed, it is redisplayed. A window is removed by repainting the window beneath it. In order to control this process, the benchmark dialog is displayed over a maximized window. The "UpdateWindow" function from the standard Windows API is used to verify that the complete Window is visible and that it has been completely removed. In Clarion this is unnecessary (but benign) because the ACCEPT loop is not initiated until the window has been painted. In Delphi, the "Update" method performs an "UpdateWindow". Visual Basic requires custom controls (.VBXs) to produce 3D effects. 3D Gizmos by MicroHelp have been used for this purpose. To produce similar duration, the Clarion benchmark cycles 25 times, Delphi cycles 40 times, VB cycles 20 times, and PB cycles 10 times. Installation The Performance Gauge can be run from any drive and path, however, the directory containing CWGAUGE.EXE must also contain Delphi, VB, and PB sub-directories for the benchmark executables.